package com.ytjj.qmyx.admin.dao;

import com.ytjj.qmyx.admin.model.dto.ForumProductDto;
import com.ytjj.qmyx.admin.model.request.forum.ForumLiveInfoRequest;
import com.ytjj.qmyx.admin.model.request.forum.ForumLiveRequest;
import com.ytjj.qmyx.admin.model.response.ForumLiveProductResponse;
import com.ytjj.qmyx.mall.model.ForumLive;
import com.ytjj.qmyx.mall.model.ProductCategory;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Description TODO
 * @ClassName ForumLiveDao
 *
 *
 * @Version 1.0
 **/

@Repository
public interface ForumLiveDao {


    void addForumLive(ForumLiveRequest forumLiveRequest);

    void editForumLive(ForumLiveRequest forumLiveRequest);

    void removeForumLive(@Param("id") Integer id);

    List<ForumLiveProductResponse> getForumLiveProductList(@Param("forumLiveId") Integer forumLiveId);

    List<ForumProductDto> searchProduct(@Param("productId") Integer productId, @Param("productName") String productName, @Param("platformData") String platformData);

    Integer searchForumProduct(@Param("productId") Integer productId, @Param("forumLiveId") Integer forumLiveId);

    void insertForumProduct(@Param("productId") Integer productId, @Param("forumLiveId") Integer forumLiveId);

    void deleteForumProduct(@Param("id") Integer id);

    void updateForumProductSort(@Param("id") Integer id, @Param("sort") Integer sort);

    List<ForumLive> getForumLiveList(@Param("status") Integer status);

    Integer removeForum(Integer id);

    List<ProductCategory> getCategory();

    List<ForumLiveProductResponse> searchForumLiveProductList(ForumLiveInfoRequest forumLiveInfoRequest);

    Integer searchForumProductCount(@Param("forumLiveId") Integer forumLiveId);

    void updateIsRecommend(@Param("forumLiveId") Integer forumLiveId, @Param("productId") Integer productId, @Param("isRecommend") Integer isRecommend);
}
